package com.wzh.glsc.product.config;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.io.IOException;

/**
 * @author xiaoming
 * @PackageName:com.wzh.glsc.product.config
 * @ClassName:@{NAME}
 * @Description:
 * @date:@{DATE}@{TIME}
 */
//可以用程序配置,也可以用yml配置
@Configuration
public class MyRedissonConfig {
    /**
     * 所有对 Redisson 的使用都是通过 RedissonClient
     * @throws IOException
     */
    //在容器中放入一个组件,组件类是RedissonClient
    //定义 也销毁方法:(destroyMethod = "shutdown"),如果服务停止,会调用shutdown来销毁
    @Bean(destroyMethod = "shutdown")
    public RedissonClient redisson() throws IOException {
        // 1、创建配置
        Config config = new Config();
        // Redis url should start with redis:// or 如果用了SSL接连就要用rediss://
        //redis集群模式: config.useSingleServer().addNodeAddress("","",""....);
        //这里是单个,设置自己的地址和端口号
        config.useSingleServer().setAddress("redis://192.168.56.10:6379");

        // 2、根据 Config 创建出 RedissonClient 实例
        return Redisson.create(config);
    }
}
